package cn.lxh.system.mapper;


import cn.lxh.system.domain.Permission;
import cn.lxh.system.query.PermissionQuery;

import java.util.List;

/**
 * PermissionMapper是Permission类的持久层
 */
public interface PermissionMapper {

    /**
     * 添加权限
     * @param permission
     */
    void add(Permission permission);

    /**
     * 根据id删除权限
     * @param id
     */
    void delete(Long id);

    /**
     * 修改权限
     * @param permission
     */
    void update(Permission permission);

    /**
     * 根据查询单个权限
     * @param id
     * @return
     */
    Permission findOne(Long id);

    /**
     * 查询所有权限
     * @return
     */
    List<Permission> findAll();

    /**
     * 根据id批量删除权限
     * @param ids
     */
    void patchDelete(Long[] ids);

    /**
     * 分页查询
     * @param permissionQuery
     * @return
     */
    List<Permission> queryPage(PermissionQuery permissionQuery);

    /**
     * 根据sn查询权限
     * @param sn
     * @return
     */
    Permission selectBySn(String sn);
}
